SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO



CREATE PROCEDURE [dbo].[SP_TTINTE_CNTB_U02]
/*--------------------------------------------------------------------------*/
/*---- Empresa		   : OFISIS S.A.				----*/
/*---- Cliente		   : OFISIS S.A.				----*/
/*---- Sistema		   : Contabilidad				----*/
/*---- M>dulo		   : Empresa   	                 		----*/
/*---- Programa		   : Actualizaci?n Correlativos SOLO para operacion del proceso	----*/
/*---- Script		   : TWMVTO_INTE.SQL			        ----*/
/*---- Nombre SP	   : SP_TTINTE_CNTB_U02                         ----*/
/*---- Desarrollado por	   : percy garcia                               ----*/
/*---- Fecha Creaci>n	   : 10/02/2004			        	----*/
/*---- Base de Datos	   : MS SQL Server	      	                ----*/
/*---- Versi>n		   : 2000  					----*/
/*---- Invoca a SP 	   :						----*/
/*--------------------------------------------------------------------------*/
/*---- Modificado 1 por	   :                                            ----*/
/*---- Fecha Modificaci>n  : 						----*/
/*---- Detalle Modificaci>n: 						----*/
/*--------------------------------------------------------------------------*/
/*-- Comentarios	   : 					        ----*/
/*--------------------------------------------------------------------------*/
/* drop proc SP_TTINTE_CNTB_U02 		                        ----*/
/* grant all on SP_TTINTE_CNTB_U02 to PUBLIC  		                ----*/
/* SP_TTINTE_CNTB_U02 '01', 'OFILOGI', 1		                ----*/
/*--------------------------------------------------------------------------*/

@ISCO_EMPR TD_VC_002, 
@ISCO_SIST TD_VC_008,
@INNU_PROC TD_IN_001 

As 
Declare 

@VDFE_TRAN       TD_DT_001,
@VNNU_MESE       TD_IN_001,
@VNNU_ANNO       TD_IN_001, 
@CSCO_EMPR       TD_VC_002, 
@CNNU_CNTB_EMPR  TD_IN_001, 
@CSCO_UNID_CNTB  TD_VC_003, 
@CSCO_OPRC_CNTB  TD_VC_003, 
@VSNU_ASTO_MAXI  TD_VC_010

Create Table #TWDETA_OPR1
( CO_EMPR 	Varchar(2) Null, 
  NU_CNTB_EMPR 	Int Null, 
  CO_UNID_CNTB 	Varchar(3) Null, 
  CO_OPRC_CNTB 	Varchar(3) Null
)

Select @VDFE_TRAN = FE_INIC 
From TTPROC_INTE
Where CO_EMPR = @ISCO_EMPR
And   CO_SIST = @ISCO_SIST
And   NU_PROC = @INNU_PROC

Select @VNNU_MESE = Datepart(Month, @VDFE_TRAN)
Select @VNNU_ANNO = Datepart(Year,  @VDFE_TRAN)

---- extrae operaciones del proceso 
Insert Into #TWDETA_OPR1 (CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB)
Select Distinct CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB
From TXMVTO_INTE
Where CO_EMPR = @ISCO_EMPR
And   NU_PROC = @INNU_PROC

Declare  CU_TTINTE_CNTB_U02_1 Cursor
For
Select t1.CO_EMPR, t1.NU_CNTB_EMPR, t1.CO_UNID_CNTB, t1.CO_OPRC_CNTB 
From TCFECH_PROC t1, #TWDETA_OPR1 t2
Where t1.CO_EMPR = @ISCO_EMPR
And   t1.NU_ANNO = @VNNU_ANNO
And   t1.NU_MESE = @VNNU_MESE
And   t2.CO_EMPR = t1.CO_EMPR 
And   t2.NU_CNTB_EMPR = t1.NU_CNTB_EMPR
And   t2.CO_UNID_CNTB = t1.CO_UNID_CNTB 
And   t2.CO_OPRC_CNTB = t1.CO_OPRC_CNTB 

Open CU_TTINTE_CNTB_U02_1
Fetch  CU_TTINTE_CNTB_U02_1 Into @CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB
While  ( @@FETCH_STATUS = 0)
  Begin
    If (@@FETCH_STATUS  < 0)
        Begin
            --RAISERROR 20001 "FIN DE ARCHIVO"
	    Close CU_TTINTE_CNTB_U02_1
	    Deallocate CU_TTINTE_CNTB_U02_1
	    Return
        End

	--Select @VSNU_ASTO_MAXI = Null
	Select @VSNU_ASTO_MAXI = Isnull(Max(IsNull(NU_ASTO,'0')),0)
        From TXMVTO_CNTB
	Where CO_EMPR = @CSCO_EMPR
	And   NU_CNTB_EMPR = @CNNU_CNTB_EMPR
	And   CO_UNID_CNTB = @CSCO_UNID_CNTB
	And   CO_OPRC_CNTB = @CSCO_OPRC_CNTB 
	And   NU_ANNO = @VNNU_ANNO
	And   NU_MESE = @VNNU_MESE

        Update TCFECH_PROC
	Set NU_ULTI_ASTO = Convert(Int, @VSNU_ASTO_MAXI )
	Where CO_EMPR = @CSCO_EMPR 
	And NU_CNTB_EMPR = @CNNU_CNTB_EMPR
	And CO_UNID_CNTB = @CSCO_UNID_CNTB
	And CO_OPRC_CNTB = @CSCO_OPRC_CNTB
	And NU_ANNO = @VNNU_ANNO
	And NU_MESE = @VNNU_MESE

	If (@@ERROR != 0)
	    BEGIN
	      ROLLBACK TRANSACTION SP_TTPROC_INTE_U99
	      Close CU_TTINTE_CNTB_U02_1
	      Deallocate CU_TTINTE_CNTB_U02_1
	      Return
	    END

	Fetch  CU_TTINTE_CNTB_U02_1 Into
	@CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB
  End
 Close CU_TTINTE_CNTB_U02_1
 Deallocate CU_TTINTE_CNTB_U02_1


/*----------------------------FIN PROGRAMA ----------------------------*/






GO
